package com.newthread.jdp.dao.impl;

import java.util.List;

import javax.annotation.Resource;

import org.springframework.orm.hibernate3.HibernateTemplate;
import org.springframework.stereotype.Component;

import com.newthread.jdp.dao.TagDAO;
import com.newthread.jdp.model.Tag;

@Component
public class TagDAOImpl implements TagDAO {
	private HibernateTemplate hibernateTemplate;

	public HibernateTemplate getHibernateTemplate() {
		return hibernateTemplate;
	}

	@Resource
	public void setHibernateTemplate(HibernateTemplate hibernateTemplate) {
		this.hibernateTemplate = hibernateTemplate;
	}

	@Override
	public List<Tag> querryAllTag() {
		return hibernateTemplate.find("from com.newthread.jdp.model.Tag");
	}

	@Override
	public synchronized void addTag(Tag tag) {
		hibernateTemplate.save(tag);
	}

	@Override
	public synchronized void deleteTag(Tag tag) {
		hibernateTemplate.delete(tag);
	}

	@Override
	public List<Tag> querryByTag(Tag tag) {
		return  hibernateTemplate.findByExample(tag);
	}

	@Override
	public void update(Tag tag) {
		hibernateTemplate.update(tag);
	}

}
